package JavaUtils;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


/*ESTA CLASE NOS PERMITE HACER TODAS LAS FUNCIONES
  CON LOS DATE, TANTO FORMATEO COMO AGREGAR DIAS O RESTAR*/
//TODO
public class DateUtil {
	private static DateUtil instancia;
	
	private static final long MILISEGUNDOS_POR_DIA = 24L * 60L * 60L * 1000L;
	
	private DateUtil(){
		
	}
	public static DateUtil getInstancia(){
		if(instancia==null)
			instancia=new DateUtil();
		return instancia;
	}
	public Date getDiaActual(){
		return new Date();
	}
	
	public Date getFecha(String s){
		SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
		Date fecha = null;
		try {
			fecha = formato.parse(s);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return fecha;
	}
	
	public String getDiaActualString(){
		Date f=this.getDiaActual();
		DateFormat fecha = new SimpleDateFormat("dd/MM/yyyy");
		String convertido = fecha.format(f);
		return convertido;
	}
	public String getFechaString(Date f){
		
		DateFormat fecha = new SimpleDateFormat("dd/MM/yyyy");
		String convertido = fecha.format(f);
		return convertido;
		
	}
	
	public Date sumarDias(Date fecha, int dias) {
		long total = fecha.getTime() + dias * MILISEGUNDOS_POR_DIA;
		return new Date(total);
	}
	
}
